package com.cn.ant.modules.score.service;

import com.cn.ant.common.persistence.Page;
import com.cn.ant.common.service.BaseService;
import com.cn.ant.modules.score.dao.SchoolTwfInfoDao;
import com.cn.ant.modules.score.entity.SchoolTwfInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 学校同位分Service
 * @author 黄根华
 * @version 2015-10-09
 */
@Service
@Transactional(readOnly = true)
public class SchoolTwfInfoService extends BaseService {

    @Autowired
	private SchoolTwfInfoDao schoolTwfInfoDao;

	public SchoolTwfInfo get(String id) {
		return schoolTwfInfoDao.get(id);
	}
	
	public List<SchoolTwfInfo> findList(SchoolTwfInfo schoolTwfInfo) {
		return schoolTwfInfoDao.findList(schoolTwfInfo);
	}
	
	public Page<SchoolTwfInfo> findPage(Page<SchoolTwfInfo> page, SchoolTwfInfo schoolTwfInfo) {
	    schoolTwfInfo.setPage(page);
        page.setList(schoolTwfInfoDao.findList(schoolTwfInfo));
        return page;
	}
	
	@Transactional(readOnly = false)
	public void save(SchoolTwfInfo schoolTwfInfo) {
	    if (schoolTwfInfo.getIsNewRecord()) {
            schoolTwfInfo.preInsert();
            schoolTwfInfoDao.insert(schoolTwfInfo);
        } else {
            schoolTwfInfo.preUpdate();
            schoolTwfInfoDao.update(schoolTwfInfo);
        }
	}

	/**
	 * 初始化最近三年的数据
	 * @param year
	 */
	@Transactional(readOnly = false)
	public void init(int year) {
		//删除指定年份的同位分
		schoolTwfInfoDao.deleteByYear(year);
		schoolTwfInfoDao.generateInsert(year);
	}

	@Transactional(readOnly = false)
	public void delete(SchoolTwfInfo schoolTwfInfo) {
		schoolTwfInfoDao.delete(schoolTwfInfo);
	}

}